package main

import (
	"bufio"
	"fmt"
	"io/ioutil"
	"os"
)

func main() {
	// 1. 带 缓冲流的 write
	f1, err := os.OpenFile("./test.dat", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		fmt.Println(err)
	}
	defer f1.Close()
	wr := bufio.NewWriter(f1)
	wr.WriteString("hello\n")
	wr.Flush()

	// 2. 一次性写入文件
	// func WriteFile(filename string, data []byte, perm os.FileMode) error
	bytes := []byte("hello world\n")
	ioutil.WriteFile("./test.dat", bytes, 0666)

	// 3. os.Write
	// func (f *File) Write(b []byte) (n int, err error)
	// func (f *File) WriteString(s string) (ret int, err error)
	// func (f *File) WriteAt(b []byte, off int64) (n int, err error)

	f1.WriteString("你好 世界\n")

}
